The combination of a Web browser program with text in a markup language (e.g. HTML) delivered over the Internet by a server has become a popular and universal way to deliver knowledge content to users on demand, both text and graphics. In theory, at least, the browser program is made available on all computer platforms so that any user can view the content, regardless of the brand of hardware or the computer's operating system. Many powerful software tools have been designed to assist in laying out the content and writing the markup language code for pages containing combinations of text, static graphics, animations, movies, and sound clips.
There is, however, no technology available at present to simplify the building of interactive Web pages involving numeric calculations. An example of such a page would be an interactive simulation, where the user changes some parameter settings and then observes how the solution of a mathematical model changes. Both the parameter changes and output display are done typically with graphic objects on the screen, for example a slider for the parameter input and a graph or animation for the calculated output Also, the calculations are done typically with a general-purpose computer language different from the markup language describing the page, since markup languages are not suitable for calculations. Building a Web page with numeric calculations using present technology requires substantial programming effort, in the markup language describing the page (e.g., HTML) and mainly in the general computing language doing the actual calculations (e.g., JAVA (by Sun Microsystems)). Furthermore, changing the objects on the page (without changing the calculations) or changing the calculations (without changing the objects on the page) both require changes to both the markup language and the general language, making it impractical to reuse either of the codes.
What is needed is a new software architecture that will substantially reduce the work required to produce interactive calculations on Web pages and the skill level required to produce them.